// 添加过期时间检查函数
function isDataExpired(timestamp) {
    if (!timestamp) return true;
    const now = new Date().getTime();
    return now > timestamp;
}

// 添加带过期时间的获取函数
function getItemWithExpiry(key) {
    const itemStr = localStorage.getItem(key);
    if (!itemStr) return null;
    
    const item = JSON.parse(itemStr);
    if (isDataExpired(item.timestamp)) {
        localStorage.removeItem(key);
        return null;
    }
    return item.value;
}

document.addEventListener('DOMContentLoaded', function() {
    // 获取预订表单
    const bookingForm = document.getElementById('route-booking');
    
    if (bookingForm) {
        // 监听表单提交事件
        bookingForm.addEventListener('submit', function(e) {
            e.preventDefault();
            
            // 获取表单数据
            const formData = {
                route: document.getElementById('route-select').value,
                date: document.getElementById('date-select').value,
                people: document.getElementById('people-count').value,
                username: document.getElementById('contact-name').value,
                phone: document.getElementById('contact-phone').value
            };
            
            // // 验证表单数据
            // if (validateForm(formData)) {
            //     // 提交表单
            //     submitBooking(formData);
            // }
            // 提交表单
            submitBooking(formData);
        });
    }
});

// 表单验证函数
function validateForm(data) {
    // 验证线路选择
    if (!data.route) {
        alert('请选择旅游线路');
        return false;
    }
    
    // 验证日期
    if (!data.date) {
        alert('请选择出行日期');
        return false;
    }
    
    // 验证人数
    if (!data.people || data.people < 1) {
        alert('请输入正确的出行人数');
        return false;
    }
    
    // 验证联系人
    if (!data.name) {
        alert('请输入联系人姓名');
        return false;
    }
    
    // 验证电话
    if (!data.phone || !/^1[3-9]\d{9}$/.test(data.phone)) {
        alert('请输入正确的手机号码');
        return false;
    }
    
    return true;
}

// 提交预订函数
async function submitBooking(data) {
    try {
        // 检查用户是否已登录
        const userId = getItemWithExpiry('userId');
        if (!userId) {
            alert('请先登录后再进行预订');
            window.location.href = 'login.html';
            return;
        }

        const response = await fetch('http://localhost:8080/routes', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                'userId': userId
            },
            body: JSON.stringify(data)
        });

        // 检查响应类型
        const contentType = response.headers.get('content-type');
        if (!contentType || !contentType.includes('application/json')) {
            throw new Error('服务器返回格式错误');
        }

        const responseData = await response.json();
        
        if (response.ok) {
            if(responseData.message === 'success'){
                alert( '预订成功！稍后会有工作人员联系您！！！');
            }
             else{
                alert( responseData.message);
            }
            document.getElementById('route-booking').reset();
        } else {
            alert('预订失败，请稍后重试');
        }
    } catch (error) {
        console.error('预订请求出错:', error);
        if (error.message === '服务器返回格式错误') {
            alert('服务器暂时无法访问，请稍后重试');
        } else {
            alert('预订请求失败，请稍后重试');
        }
    }
}

// 设置日期选择器的最小日期为今天
const dateInput = document.getElementById('date-select');
if (dateInput) {
    const today = new Date().toISOString().split('T')[0];
    dateInput.min = today;
} 